home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-12 | 85.8 KB | 1,727 lines | [TEXT/CCL2] |
-
- (in-package :TRAPS) ; ***********************************************************
- ; Translated from pascal interface files by Kane Biomedical Systems, May 1993
- ;
- ; Created: Tuesday, February 23, 1993 at 6:15PM
- ; OCETemplates.p
- ; Pascal Interface to the Macintosh Libraries
- ;
- ; Copyright Apple Computer, Inc. 1990-1993
- ; All rights reserved
- ;
- ; ***********************************************************
-
- ; $IFC UNDEFINED UsingIncludes
- ; $SETC UsingIncludes:= 0
- ; $ENDC
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCETemplates
- ; $SETC UsingOCETemplates:= 1
-
- ; $I+
- ; $SETC OCETemplatesIncludes:= UsingIncludes
- ; $SETC UsingIncludes:= 1
-
- ; $IFC UNDEFINED UsingTypes
-
- (require-interface 'TYPES) ; $I $$Shell(PInterfaces)Types.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingEvents
-
- (require-interface 'EVENTS) ; $I $$Shell(PInterfaces)Events.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCE
- ; $I OCE.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCEStandardMail
- ; $I OCEStandardMail.p
- ; $ENDC
-
- ; $SETC UsingIncludes:= OCETemplatesIncludes
-
- ; **********************************************************************************************
- ; ******************************** Template Resource Constants: ********************************
- ; **********************************************************************************************
-
- ; Current versions of all the different template types:
-
- (defconstant $kDETAspectVersion -978)
- (defconstant $kDETInfoPageVersion -978)
- (defconstant $kDETKillerVersion -978)
- (defconstant $kDETForwarderVersion -978)
- (defconstant $kDETFileTypeVersion -978)
-
- ; "Normal" separation for template IDs within the file (this is just a suggestion; you can use whatever
- ; separation you like, so LONGINT as two separate templates don't have overlapping resources):
- (defconstant $kDETIDSep 250)
-
- ; A few predefined base IDs (again, just suggestions):
- (defconstant $kDETFirstID 1000)
- (defconstant $kDETSecondID (+ 1000 #$KDETIDSEP))
- (defconstant $kDETThirdID (+ 1000 (* 2 #$KDETIDSEP)))
- (defconstant $kDETFourthID (+ 1000 (* 3 #$KDETIDSEP)))
- (defconstant $kDETFifthID (+ 1000 (* 4 #$KDETIDSEP)))
-
- ; All templates include the following resource fork resources:
- ; resource ('rstr', id+kDETTemplateName) contains the name of the template
-
- (defconstant $kDETTemplateName 0)
-
- ; Aspect, info-pages, and forwarders include the following as well:
- ; resource ('rstr', id+kDETRecordType) contains the type of record this applies to
- ; resource ('rstr', id+kDETAttributeType) contains the type of attribute this applies to
- ; resource ('detn', id+kDETAttributeValueTag) contains the tag of the attribute this applies to
- ;
-
- (defconstant $kDETRecordType 1)
- (defconstant $kDETAttributeType 2)
- (defconstant $kDETAttributeValueTag 3)
-
- ; ************************************ Aspects
-
- ; In the case of aspects, property numbers and resource id offsets are the same. Therefore, some of the following
- ; defines are used for resource offsets, some are used for dynamically generated properties, and some are used for
- ; both (i.e., properties which may be dynamically generated, but if they aren't, then they're taken from the
- ; resource). Resource types are given in all cases below; even if there is no actual resource (for example in
- ; the case of kDETAspectName), it indicates the type for the dynamically generated property.
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'deta' 0 Identifies the type of resource
- ; 'detc' kDETCode Is the code resource, if any is used
- ; 'rstr' kDETAspectName Contains the name of the item (attribute main aspect only)
- ; 'rst#' kDETAspectCategory Contains the internal categories for the record type (main aspect only)
- ; 'rstr' kDETAspectKind Is the item kind to display (main aspect only)
- ; 'detn' kDETAspectGender Is the gender of this kind of object for internationalization (main aspect only)
- ; 'rstr' kDETAspectWhatIs Is string for balloon help when item is in sublist (main aspect only)
- ; 'ICN#' kDETAspectMainBitmap
- ; 'icl8' kDETAspectMainBitmap
- ; 'icl4' kDETAspectMainBitmap
- ; 'ics#' kDETAspectMainBitmap
- ; 'ics8' kDETAspectMainBitmap
- ; 'ics4' kDETAspectMainBitmap
- ; 'sicn' kDETAspectMainBitmap Is the icon suite to display for this item type (main aspect only)
- ; 'rst#' kDETAspectBalloons Is a list of strings for balloon help; for each item is an info-page, it's
- ; property # times 2 is used as an index into this array; if the item is not editable,
- ; then the property # times 2 plus 1 is used
- ; 'rstr' kDETAspectNewMenuName Is the string to be used for "New ..." in the Directories menu, if any
- ; 'rstr' kDETAspectNewEntryName Is the name to be used for new entries (with a digit appended if not unique)
- ; 'detb' kDETAspectNewValue Is the value to use when creating a new attribute value; the first four bytes
- ; is the tag; the rest is the attribute value contents
- ; 'dett' kDETAspectLookup Is the attribute-to-property translation table
- ; 'rstr' kDETAspectDragInString Is a string describing the action of dragging into this aspect
- ; 'rst#' kDETAspectRecordDragIn Is a list of type pairs; in each pair, the first is the type of a record which
- ; can be dragged into this aspect, and the second is the attribute type to store
- ; the reference in
- ; 'rst#' kDETAspectRecordCatDragIn Is a list of category/attribute type pairs; in each pair, the first is the
- ; category of records which can be dragged in, and the second is the type of
- ; attribute to place the alias in
- ; 'rst#' kDETAspectAttrDragIn Is a list of type triples; in each triple, the first is the record type which can be
- ; dragged from (or "=" for any), the second is the attribute type which can be dragged
- ; in, and the third is the attribute type to store the new attribute in
- ; 'rst#' kDETAspectDragOut Is a list of attribute types which can be dragged out of this aspect
- ; 'detm' kDETAspectViewMenu Is a table to fill in the view menu from
- ; 'detp' kDETAspectReverseSort Is a table listing which properties to sort in reverse order
- ; 'ipcw' kDETAspectInfoPageCustomWindow Is a specification of a custom window size/placement & whether to use the
- ; page-selector (main aspect only)
- ; (note: this resource should not be used for normal info-pages)
- ; 'rst#' kDETAspectExternalCategory Contains the external (user-visible) names which correspond to the categories in
- ; kDETAspectCategory; if this resource is not present, external names are taken from
- ; another template; if no other template provides an external name for a given internal
- ; category, the internal name is used as the external name (main aspect only)
- ;
- ;
-
- (defconstant $kDETAspectCode 4)
- (defconstant $kDETAspectName 5)
- (defconstant $kDETAspectCategory 6)
- (defconstant $kDETAspectKind 7)
- (defconstant $kDETAspectGender 8)
- (defconstant $kDETAspectWhatIs 9)
- (defconstant $kDETAspectMainBitmap 10)
- (defconstant $kDETAspectBalloons 11)
- (defconstant $kDETAspectNewMenuName 12)
- (defconstant $kDETAspectNewEntryName 13)
- (defconstant $kDETAspectNewValue 14)
- (defconstant $kDETAspectLookup 15)
- (defconstant $kDETAspectDragInString 16)
- (defconstant $kDETAspectDragInVerb 17)
- (defconstant $kDETAspectDragInSummary 18)
- (defconstant $kDETAspectRecordDragIn 19)
- (defconstant $kDETAspectRecordCatDragIn 20)
- (defconstant $kDETAspectAttrDragIn 21)
- (defconstant $kDETAspectAttrDragOut 22)
- (defconstant $kDETAspectViewMenu 23)
- (defconstant $kDETAspectReverseSort 24)
- (defconstant $kDETAspectInfoPageCustomWindow 25)
- (defconstant $kDETAspectExternalCategory 26)
-
- ; Properties:
-
- ; Each aspect has 250 attribute properties in this range:
- (defconstant $kDETFirstLocalProperty 0)
- (defconstant $kDETLastLocalProperty (+ #$KDETFIRSTLOCALPROPERTY 249))
-
- ; Developers should use property numbers starting at this point:
- (defconstant $kDETFirstDevProperty 40)
-
- ; Finally, the following range provide constant numeric properties for use in patterns and comparisons:
- (defconstant $kDETFirstConstantProperty 250)
- (defconstant $kDETLastConstantProperty (+ #$KDETFIRSTCONSTANTPROPERTY 249))
-
- ; To convert a number into a constant property, add this:
- (defconstant $kDETConstantProperty #$KDETFIRSTCONSTANTPROPERTY)
-
- (defconstant $kDETZeroProperty (+ #$KDETCONSTANTPROPERTY 0))
- (defconstant $kDETOneProperty (+ #$KDETCONSTANTPROPERTY 1))
- (defconstant $kDETFalseProperty (+ #$KDETCONSTANTPROPERTY 0))
- (defconstant $kDETTrueProperty (+ #$KDETCONSTANTPROPERTY 1))
-
- ; The following apply to records, attributes, or aliases; they are the name and kind, as they appear in icon lists:
- (defconstant $kDETPrName 3050)
- (defconstant $kDETPrKind 3051)
-
- ; Access mask properties:
- (defconstant $kDETDNodeAccessMask 27574); the DNode access mask
- (defconstant $kDETRecordAccessMask 27575); the record access mask
- (defconstant $kDETAttributeAccessMask 27576); the attribute access mask
- (defconstant $kDETPrimaryMaskByBit 27577); a set of sixteen properties to access all bits of the primary mask
-
- ; See OCE documentation for details definitions of each of these bits:
-
- (defconstant $kDETPrimarySeeMask #$KDETPRIMARYMASKBYBIT)
- (defconstant $kDETPrimaryAddMask (+ #$KDETPRIMARYMASKBYBIT 1))
- (defconstant $kDETPrimaryDeleteMask (+ #$KDETPRIMARYMASKBYBIT 2))
- (defconstant $kDETPrimaryChangeMask (+ #$KDETPRIMARYMASKBYBIT 3))
- (defconstant $kDETPrimaryRenameMask (+ #$KDETPRIMARYMASKBYBIT 4))
- (defconstant $kDETPrimaryChangePrivsMask (+ #$KDETPRIMARYMASKBYBIT 5))
- (defconstant $kDETPrimaryTopMaskBit (+ #$KDETPRIMARYMASKBYBIT 15))
-
- ; Template numbers (can be used with kDETAspectTemplate and kDETInfoPageTemplate target selectors):
- (defconstant $kDETAspectTemplateNumber 22051)
- (defconstant $kDETInfoPageTemplateNumber 22052)
-
- ; Property types are used to specify types of properties and conversions between types (negative numbers
- ; are reserved for Apple; developer code resources can use positive numbers):
- (defconstant $kDETPrTypeNone 0) ; No type
- (defconstant $kDETPrTypeNumber -1); A number
- (defconstant $kDETPrTypeString -2); A STRING
- (defconstant $kDETPrTypeBinary -3); A binary block
-
- ; ************************************ Info-pages
-
- ; Info-pages include the following as well:
- ; resource ('deti', id) identifies the type of resource; see below for details on the contents
- ; resource ('rstr', id+kDETInfoPageName) is the name of the view to use in the page selection pop-up
- ; resource ('rstr', id+kDETInfoPageMainViewAspect) is the name of the aspect to use with the main page view
- ; resource ('rstr', id+kDETInfoPageMenuName) is the name of the directories menu ("Directories" if nil)
- ; resource ('detm', id+kDETInfoPageMenuEntries) are menu entries to add after a gray line after the "New..." entries;
- ; use "-" for a gray line between entries
- ;
-
- (defconstant $kDETInfoPageName 4)
- (defconstant $kDETInfoPageMainViewAspect 5)
- (defconstant $kDETInfoPageMenuName 6)
- (defconstant $kDETInfoPageMenuEntries 7)
-
- ; ************************************ Views
-
- ; Flags:
-
- (defconstant $kDETNoFlags #X0) ; 0
- (defconstant $kDETEnabled #X1) ; 1 << 0
- (defconstant $kDETHilightIfSelected #X1); 1 << 0
- (defconstant $kDETChoosable #X2); 1 << 1
- (defconstant $kDETNumericOnly #X8); 1 << 3
- (defconstant $kDETMultiLine #X10); 1 << 4
- (defconstant $kDETViewSendCommandToWindow #X20); 1 << 5
-
- ; The folowing flags make sense for views only
-
- ; for EditText views only
- (defconstant $kDETHidePenOnOpen #X100); 1 << 8
- (defconstant $kDETDynamicSize #X200); 1 << 9
- (defconstant $kDETAllowNoColons #X400); 1 << 10
-
- ; Sizes for icons4
- (defconstant $kDETLargeIcon 0)
- (defconstant $kDETSmallIcon 1)
- (defconstant $kDETMiniIcon 2)
-
- ; Stolen from TextEdit.h
- (defconstant $kDETLeft 0)
- (defconstant $kDETCenter 1)
- (defconstant $kDETRight -1)
- (defconstant $kDETForceLeft -2)
-
- (defconstant $kDETUnused 0)
- (defconstant $kDETNoValue #X80000000)
- (defconstant $kDETNoSort 0)
- (defconstant $kDETNoProperty -1)
-
- ; Attributes for TViewBox - these are distinct from the flags above
-
- (defconstant $kDETBoxTakesContentClicks #X1); 1 << 0
- (defconstant $kDETBoxIsRounded #X2); 1 << 1
- (defconstant $kDETBoxIsGrayed #X4); 1 << 2
- (defconstant $kDETBoxIsInvisible #X8); 1 << 3
-
- ; The common font info
- (defconstant $kDETApplicationFont 1)
- (defconstant $kDETApplicationFontSize 9)
- (defconstant $kDETAppFontLineHeight 12)
-
- (defconstant $kDETSystemFont 0)
- (defconstant $kDETSystemFontSize 12)
- (defconstant $kDETSystemFontLineHeight 16)
-
- (defconstant $kDETDefaultFont 1)
- (defconstant $kDETDefaultFontSize 9)
- (defconstant $kDETDefaultFontLineHeight 12)
-
- ; These were taken from QuickDraw.h (where they're enums and therefore unusable in resource definitions):
- (defconstant $kDETNormal 0)
- (defconstant $kDETBold 1)
- (defconstant $kDETItalic 2)
- (defconstant $kDETUnderline 4)
- (defconstant $kDETOutline 8)
- (defconstant $kDETShadow #X10)
- (defconstant $kDETCondense #X20)
- (defconstant $kDETExtend #X40)
-
- (defconstant $kDETIconStyle -3) ; Normal for regular icons, italic for aliases
-
- ; Views IDs:
-
- (defconstant $kDETCustomViewMenuID 10)
-
- (defconstant $kDETChangeViewCommand :|view|); Change the view; used especially in StaticCommandTextFromView sublist headers
-
- ; Info-page window size:
- (defconstant $kDETRecordInfoWindHeight 228)
- (defconstant $kDETRecordInfoWindWidth 400)
-
- (defconstant $kDETAttributeInfoWindHeight 250)
- (defconstant $kDETAttributeInfoWindWidth 230)
-
- ; kDETAppFontLineHeight = 12;
-
- ; Note: The following defines set up an info-page layout which is for interim use only;
- ; a more permanent layout will be defined later
-
- ; Defines for subpages (template filled-in areas)
- (defconstant $kDETSubpageTop 0)
- (defconstant $kDETSubpageLeft 64)
- (defconstant $kDETSubpageBottomInset 8)
- (defconstant $kDETSubpageRightInset 8)
-
- ; Page identifying icon
- (defconstant $kDETSubpageIconTop 8)
- (defconstant $kDETSubpageIconLeft 8)
- (defconstant $kDETSubpageIconBottom (+ #$KDETSUBPAGEICONTOP 32))
- (defconstant $kDETSubpageIconRight (+ #$KDETSUBPAGEICONLEFT 32))
- ; #define kDETSubpageIconRect {kDETSubpageIconTop, kDETSubpageIconLeft, kDETSubpageIconBottom, kDETSubpageIconRight}
-
- ; Page identifying label
- (defconstant $kDETSubpageLabelTop (+ #$KDETSUBPAGEICONBOTTOM 8))
- (defconstant $kDETSubpageLabelLeft #$KDETSUBPAGEICONLEFT)
- (defconstant $kDETSubpageLabelBottom (+ #$KDETSUBPAGELABELTOP #$KDETAPPFONTLINEHEIGHT))
- (defconstant $kDETSubpageLabelRight (- #$KDETRECORDINFOWINDWIDTH 20))
- ; #define kDETSubpageLabelRect {kDETSubpageLabelTop, kDETSubpageLabelLeft, kDETSubpageLabelBottom, kDETSubpageLabelRight}
-
- ; For pages with a single function, here's where the button goes
- (defconstant $kDETSubpage1ButtonTop 120)
- (defconstant $kDETSubpage1ButtonLeft 110)
- (defconstant $kDETSubpage1ButtonBottom (+ #$KDETSUBPAGE1BUTTONTOP 50))
- (defconstant $kDETSubpage1ButtonRight (+ #$KDETSUBPAGE1BUTTONLEFT 200))
- ; #define kDETSubpage1ButtonRect {kDETSubpage1ButtonTop, kDETSubpage1ButtonLeft, kDETSubpage1ButtonBottom, kDETSubpage1ButtonRight}
-
- ; Column placement for non-sublist placements
- (defconstant $kDET1stColumnLeft (- #$KDETSUBPAGELEFT 10))
- (defconstant $kDET1stColumnRight (+ #$KDETSUBPAGELEFT 68))
- (defconstant $kDET2ndColumnLeft (+ #$KDET1STCOLUMNRIGHT 2))
- (defconstant $kDETRecord2ndColumnRight (- #$KDETRECORDINFOWINDWIDTH #$KDETSUBPAGERIGHTINSET))
- (defconstant $kDETAttribute2ndColumnRight (- #$KDETATTRIBUTEINFOWINDWIDTH #$KDETSUBPAGERIGHTINSET))
-
- (defconstant $kDETColumnTop 38)
-
- ; Sublist placement
- (defconstant $kDETSublistTop (+ #$KDETSUBPAGEICONBOTTOM (+ 16 (+ #$KDETAPPFONTLINEHEIGHT 4))))
- (defconstant $kDETSublistLeft 10)
- (defconstant $kDETSublistBottomInset 10)
- (defconstant $kDETSublistBottom (- #$KDETRECORDINFOWINDHEIGHT #$KDETSUBLISTBOTTOMINSET))
- (defconstant $kDETSublistRightInset 10)
- (defconstant $kDETSublistRight (- #$KDETRECORDINFOWINDWIDTH #$KDETSUBLISTRIGHTINSET))
-
- ; #define kDETSublistRect { kDETSublistTop, kDETSublistLeft, kDETSublistBottom, kDETSublistRight }
-
- (defconstant $kDETSublistEntryTop (- #$KDETAPPFONTLINEHEIGHT/2))
- (defconstant $kDETSublistEntryBottom (+ #$KDETSUBLISTENTRYTOP #$KDETAPPFONTLINEHEIGHT))
-
- ; #define kDETSublistTitleBitmapRect { kDETListTop-10, kDETListLeftInset+4, kDETListTop-4, kDETListLeftInset+4+16 }
- (defconstant $kDETSublistTitleTop (- #$KDETSUBLISTTOP (- #$KDETAPPFONTLINEHEIGHT 2)))
- (defconstant $kDETSublistTitleBottom (- #$KDETSUBLISTTOP 2))
- (defconstant $kDETSublistIconColumnWidth 16)
- (defconstant $kDETSublistNameColumnWidth 200)
- (defconstant $kDETSublistKindColumnWidth 96)
- (defconstant $kDETSublistSpaceBetweenColumns 2)
- (defconstant $kDETSublistIconColumnLeft #$KDETSUBLISTSPACEBETWEENCOLUMNS)
- (defconstant $kDETSublistIconColumnRight (+ #$KDETSUBLISTICONCOLUMNLEFT #$KDETSUBLISTICONCOLUMNWIDTH))
- (defconstant $kDETSublistNameColumnLeft (+ #$KDETSUBLISTICONCOLUMNRIGHT #$KDETSUBLISTSPACEBETWEENCOLUMNS))
- (defconstant $kDETSublistNameColumnRight (+ #$KDETSUBLISTNAMECOLUMNLEFT #$KDETSUBLISTNAMECOLUMNWIDTH))
- (defconstant $kDETSublistKindColumnLeft (+ #$KDETSUBLISTNAMECOLUMNRIGHT 8)); need extra space because size is right-justified
- (defconstant $kDETSublistKindColumnRight (+ #$KDETSUBLISTKINDCOLUMNLEFT #$KDETSUBLISTKINDCOLUMNWIDTH))
-
- ; ************************************ Killers
-
- ; Killers include the following as well:
- ; resource ('rst#', id+kDETKillerName) contains a list of names to be killed
- ;
-
- (defconstant $kDETKillerName 1)
-
- ; ************************************ Forwarders
-
- ; Forwarders include the following as well:
- ; resource ('rst#', id+kDETForwarderAspectNames) contains a list of names of aspects to forward to
- ; resource ('rst#', id+kDETInfoPageNames) contains a list of names of info-pages to forward to
- ;
-
- (defconstant $kDETForwarderTemplateNames 4)
-
- ; *********************************************************************************
- ; ******************************** Categories: ************************************
- ; *********************************************************************************
-
- ; Internal category names:
-
- (defconstant $kDETCategoryAllCategories "All Categories"); Everything in a specific category
- (defconstant $kDETCategoryAllItems "All Items"); Everything in or out of a category
- (defconstant $kDETCategoryAddressItems "Address Items"); Anything that can be used to address something
- (defconstant $kDETCategoryPeople "People"); People
-
- ; *********************************************************************************
- ; ******************************** Code Resources: ********************************
- ; *********************************************************************************
-
- ; Target specification:
-
- ; Values of DETTargetSelector
- (defconstant $kDETSelf 0) ; The "current" item
- (defconstant $kDETSelfOtherAspect 1); Another aspect of the current item
- (defconstant $kDETParent 2) ; The parent (i.e., the aspect we're in the sublist of, if any) of the current item
- (defconstant $kDETSublistItem 3); The ith item in the sublist
- (defconstant $kDETSelectedSublistItem 4); The ith selected item in the sublist
- (defconstant $kDETDSSpec 5) ; The item specified by the packed DSSpec
- (defconstant $kDETChainedTargetSpec 6); A chain of specifications (apply each specification in the chain in sequence)
- (defconstant $kDETAspectTemplate 7); A specific aspect template (number itemNumber)
- (defconstant $kDETInfoPageTemplate 8); A specific info-page template (number itemNumber)
- (defconstant $kDETHighSelector #XF000); Force type to be INTEGER
-
- (def-mactype :DETTARGETSELECTOR (find-mactype :SIGNED-LONG))
-
- (defrecord DETTargetSpecification
- (selector :SIGNED-LONG) ; How to pick the item (above: see)
- (aspectName (:POINTER :RSTRING)); The name of the aspect (kDETSelfOtherAspect, kDETParentOtherAspect,
- ; kDETSublistItem, kDETSelectedSublistItem, kDETDSSpec); nil for main aspect
- (itemNumber :SIGNED-LONG) ; Sublist index (kDETSublistItem & kDETSelectedSublistItem & kDETAspectTemplate)
- (dsSpec (:POINTER :PACKEDDSSPEC)); DSSpec (only: kDETDSSpec)
- (next (:POINTER :DETTARGETSPECIFICATION)); Next item in chain (used only when original item was kChainedTargetSpec)
- )
-
- ; Code resource calls and call-backs both return an OSType:
- ; kDETDidNotHandle (1) = function not completed, try something else (used by template to say "I didn't handle it");
- ; noErr = function completed successfully;
- ; any error = function failed, and here's why
- ;
-
- (defconstant $kDETDidNotHandle 1)
-
- ; Call-back functions:
- ;
- ; reqFunction Action
- ; ----------- ------
- ; kDETcmdBeep Call SysBeep; useful for testing that a code resource's calls/call-backs are working at all
- ;
- ; kDETcmdBusy Put up watch cursor and switch processes; user events elicit a beep
- ;
- ; kDETcmdChangeCallFors Change call-fors mask
- ;
- ; kDETcmdGetCommandSelectionCount Get the command selection count (for calls which have a command selection list)
- ; kDETcmdGetCommandItemN Get command selection item n (for calls which have a command selection list)
- ;
- ; kDETcmdGetDSSpec Get the PackedDSSpec for this object
- ;
- ; kDETcmdGetTemplateFSSpec Get the FSSpec of the file containing the template (should be seldom used)
- ;
- ; kDETcmdGetOpenEdit Return the property of the view being edited (if any)
- ; kDETcmdCloseEdit Close the current edit
- ;
- ; kDETcmdGetPropertyType Get a property type
- ;
- ; kDETcmdGetPropertyNumber Get a property, number format
- ; kDETcmdGetPropertyRString Get a property, RString format
- ; kDETcmdGetPropertyBinarySize Get a property, binary, return size
- ; kDETcmdGetPropertyBinary Get a property, binary format
- ;
- ; kDETcmdGetPropertyChanged Get a property changed flag
- ; kDETcmdGetPropertyEditable Get a property editable flag
- ;
- ; kDETcmdSetPropertyType Set a property type
- ;
- ; kDETcmdSetPropertyNumber Set a property, number format
- ; kDETcmdSetPropertyRString Set a property, RString format
- ; kDETcmdSetPropertyBinary Set a property, binary data & size
- ;
- ; kDETcmdSetPropertyChanged Set a property changed flag
- ; kDETcmdSetPropertyEditable Set a property editable flag
- ;
- ; kDETcmdDirtyProperty Dirty a property (redraw: force)
- ;
- ; kDETcmdSublistCount Return the count of the sublist items
- ; kDETcmdSelectedSublistCount Return the count of the selected sublist items
- ;
- ; kDETcmdRequestSync Request a sync-up of the aspect with the directory
- ;
- ; kDETcmdAddMenu Add to the end of a dynamic menu
- ; kDETcmdRemoveMenu Remove a dynamic menu item
- ; kDETcmdMenuItemRString Get a dynamic menu item RString
- ;
- ; kDETcmdOpenDSSpec PackedDSSpec open (can also be done via AppleEvents -- this is a short-cut)
- ;
- ; kDETcmdAboutToTalk About to talk to user: bring us to front, disable watch cursor, etc.
- ;
- ; kDETcmdBreakAttribute Break an attribute -- apply all applicable patterns to an attribute to generate properties
- ; kDETcmdSaveProperty Force a save of a property -- apply all applicable patterns to write out the property
- ;
- ; kDETcmdGetCustomViewUserReference Get custom view user reference (as given in .r file)
- ; kDETcmdGetCustomViewBounds Get custom view current bounds
- ;
- ; kDETcmdGetResource Get a resource from a template
- ;
- ; kDETcmdTemplateCounts Return number of aspect and info-page templates in system
- ;
- ; kDETcmdUnloadTemplates Flush templates
- ;
-
- ; Values of DETCallBackFunctions
- (defconstant $kDETcmdSimpleCallback 0)
- (defconstant $kDETcmdBeep 1)
- (defconstant $kDETcmdBusy 2)
- (defconstant $kDETcmdChangeCallFors 3)
- (defconstant $kDETcmdGetCommandSelectionCount 4)
- (defconstant $kDETcmdGetCommandItemN 5)
- (defconstant $kDETcmdOpenDSSpec 6)
- (defconstant $kDETcmdAboutToTalk 7)
- (defconstant $kDETcmdUnloadTemplates 8)
- (defconstant $kDETcmdTemplateCounts 9)
-
- (defconstant $kDETcmdTargetedCallback 1000)
- (defconstant $kDETcmdGetDSSpec 1001)
- (defconstant $kDETcmdSublistCount 1002)
- (defconstant $kDETcmdSelectedSublistCount 1003)
- (defconstant $kDETcmdRequestSync 1004)
- (defconstant $kDETcmdBreakAttribute 1005)
- (defconstant $kDETcmdGetTemplateFSSpec 1006)
- (defconstant $kDETcmdGetOpenEdit 1007)
- (defconstant $kDETcmdCloseEdit 1008)
-
- (defconstant $kDETcmdPropertyCallback 2000)
- (defconstant $kDETcmdGetPropertyType 2001)
- (defconstant $kDETcmdGetPropertyNumber 2002)
- (defconstant $kDETcmdGetPropertyRString 2003)
- (defconstant $kDETcmdGetPropertyBinarySize 2004)
- (defconstant $kDETcmdGetPropertyBinary 2005)
- (defconstant $kDETcmdGetPropertyChanged 2006)
- (defconstant $kDETcmdGetPropertyEditable 2007)
- (defconstant $kDETcmdSetPropertyType 2008)
- (defconstant $kDETcmdSetPropertyNumber 2009)
- (defconstant $kDETcmdSetPropertyRString 2010)
- (defconstant $kDETcmdSetPropertyBinary 2011)
- (defconstant $kDETcmdSetPropertyChanged 2012)
- (defconstant $kDETcmdSetPropertyEditable 2013)
- (defconstant $kDETcmdDirtyProperty 2014)
- (defconstant $kDETcmdAddMenu 2015)
- (defconstant $kDETcmdRemoveMenu 2016)
- (defconstant $kDETcmdMenuItemRString 2017)
- (defconstant $kDETcmdSaveProperty 2018)
- (defconstant $kDETcmdGetCustomViewUserReference 2019)
- (defconstant $kDETcmdGetCustomViewBounds 2020)
- (defconstant $kDETcmdGetResource 2021)
-
- (defconstant $kDETcmdHighCallback #XF0000000); Force type to be LONGINT
-
- (def-mactype :DETCALLBACKFUNCTIONS (find-mactype :SIGNED-LONG))
-
- (defrecord DETCallBackBlockHeader
- (reqFunction :SIGNED-LONG) ; Requested function
- )
-
- (defrecord DETCallBackBlockTargetedHeader
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- )
-
- (defrecord DETCallBackBlockPropertyHeader
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
- )
-
- (%define-record :DETPROTOCALLBACKBLOCK (find-record-descriptor :DETCALLBACKBLOCKPROPERTYHEADER))
-
- (%define-record :DETBEEPBLOCK (find-record-descriptor :DETCALLBACKBLOCKHEADER))
-
- (%define-record :DETBUSYBLOCK (find-record-descriptor :DETCALLBACKBLOCKHEADER))
-
- (defrecord DETChangeCallForsBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (newCallFors :SIGNED-LONG) ; -> New call-for mask
- )
-
- (defrecord DETGetCommandSelectionCountBlock
- (reqFunction :SIGNED-LONG) ; Requested function
-
- (count :SIGNED-LONG) ; <- The number of items in the command selection list
- )
-
- ; Values of DETItemType
- (defconstant $kDETHFSType 0) ; HFS item type
- (defconstant $kDETDSType 1) ; Directory Service item type
- (defconstant $kDETMailType 2) ; Mail (letter) item type
- (defconstant $kDETMoverType 3) ; Sounds, fonts, etc., from inside a suitcase or system file
- (defconstant $kDETLastItemType #XF0000000); Force it to be a LONGINT (C & C++ seem to disagree about the definition of $F000)
-
- (def-mactype :DETITEMTYPE (find-mactype :SIGNED-LONG))
-
- (defrecord (DETFSInfo :handle) ; FSSpec plus possibly interesting additional info
- (fileType :OSTYPE) ; File type
- (fileCreator :OSTYPE) ; File creator
- (fdFlags :SIGNED-INTEGER) ; Finder flags
- (FSSpec :FSSPEC) ; FSSpec
- )
-
- (def-mactype :DETFSINFOPTR (find-mactype :POINTER))
-
- (def-mactype :LETTERSPECPTR (find-mactype :POINTER))
- (def-mactype :LETTERSPECHANDLE (find-mactype :HANDLE))
-
- ; added by JBK to work around the pascal unnamed record problem
- (defrecord DSRec
- (dsSpec (:HANDLE :PACKEDDSSPEC)); <- DSSpec for item (caller must disposHandle() when done)
- (refNum :SIGNED-INTEGER) ; <- Refnum for returned address
- (identity :SIGNED-LONG) ; <- Identity for returned address
- )
-
- (defrecord DETGetCommandItemNBlock
- (reqFunction :SIGNED-LONG) ; Requested function
-
- (itemNumber :SIGNED-LONG) ; -> Item number to retrieve (1-based)
- (itemType :SIGNED-LONG) ; -> Type of item to be returned (if we can interpret it as such)
- (:variant
- ((fsInfo (:HANDLE :DETFSINFO))); <- FSSpec & info for item (caller must disposHandle() when done)
- ((ds :DSREC)) ; PATCHED BY JBK on 5/4/93 (see above)
-
- ((dsSpec (:HANDLE :PACKEDDSSPEC))); <- DSSpec for item (caller must disposHandle() when done)
- ((ltrSpec (:HANDLE :LETTERSPEC))); <- Letter spec for item (caller must disposHandle() when done)
- ))
-
- (defrecord DETGetDSSpecBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (dsSpec (:HANDLE :PACKEDDSSPEC)); <- Handle with result (caller must disposHandle() when done)
- (refNum :SIGNED-INTEGER) ; <- Refnum for address if PD
- (identity :SIGNED-LONG) ; <- Identity for address
- (isAlias :BOOLEAN) ; <- True if this entry is an alias
- (isRecordRef :BOOLEAN) ; <- True if this entry is a record reference
- )
-
- (defrecord DETGetTemplateFSSpecBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (FSSpec :FSSPEC) ; <- FSSpec of template file
- (baseID :SIGNED-INTEGER) ; <- Base ID of this template
- (aspectTemplateNumber :SIGNED-LONG); <- The template number for this aspect template
- )
-
- (defrecord DETGetOpenEditBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (viewProperty :SIGNED-INTEGER); <- The property of the view being edited (or kNoProperty if none)
- )
-
- (defrecord DETCloseEditBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- )
-
- (defrecord DETGetPropertyTypeBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyType :SIGNED-INTEGER); <- The type of the property
- )
-
- (defrecord DETGetPropertyNumberBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyValue :SIGNED-LONG) ; <- The value of the property
- )
-
- (defrecord DETGetPropertyRStringBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyValue (:HANDLE :RSTRING)); <- A handle containing the property (as an RString) (caller must disposHandle() when done)
- )
-
- (defrecord DETGetPropertyBinarySizeBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyBinarySize :SIGNED-LONG); <- The size of the property as a binary block
- )
-
- (defrecord DETGetPropertyBinaryBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyValue :HANDLE) ; <- Handle with the value of the property (caller must disposHandle() when done)
- )
-
- (defrecord DETGetPropertyChangedBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyChanged :BOOLEAN) ; <- True if the property is marked as changed
- )
-
- (defrecord DETGetPropertyEditableBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyEditable :BOOLEAN) ; <- True if the property can be edited by the user
- )
-
- (defrecord DETSetPropertyTypeBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (newType :SIGNED-INTEGER) ; -> New type for property (just sets type, does not convert contents)
- )
-
- (defrecord DETSetPropertyNumberBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (newValue :SIGNED-LONG) ; -> New value to set property to (and set type to number)
- )
-
- (defrecord DETSetPropertyRStringBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (newValue (:POINTER :RSTRING)); -> New value to set property to (and set type to RString)
- )
-
- (defrecord DETSetPropertyBinaryBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (newValue :POINTER) ; -> New value to set property to (and set type to binary)
- (newValueSize :SIGNED-LONG) ; -> Size of new value
- )
-
- (defrecord DETSetPropertyChangedBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyChanged :BOOLEAN) ; -> Value to set changed flag on property to
- )
-
- (defrecord DETSetPropertyEditableBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (propertyEditable :BOOLEAN) ; -> Value to set editable flag on property to
- )
-
- (%define-record :DETDIRTYPROPERTYBLOCK (find-record-descriptor :DETCALLBACKBLOCKPROPERTYHEADER))
-
- (defrecord DETSublistCountBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (count :SIGNED-LONG) ; <- The number of items in the current item's sublist
- )
-
- (defrecord DETSelectedSublistCountBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (count :SIGNED-LONG) ; <- The number of selected items in the current item's sublist
- )
-
- (%define-record :DETREQUESTSYNCBLOCK (find-record-descriptor :DETCALLBACKBLOCKTARGETEDHEADER))
-
- (defrecord DETAddMenuBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (name (:POINTER :RSTRING)) ; -> Name of new menu item
- (parameter :SIGNED-LONG) ; -> Parameter to return when this item is selected
- (addAfter :SIGNED-LONG) ; -> Parameter of entry to add after, or -1 for add at end
- )
-
- (defrecord DETRemoveMenuBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (itemToRemove :SIGNED-LONG) ; -> Parameter of menu item to remove
- )
-
- (defrecord DETMenuItemRStringBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (itemParameter :SIGNED-LONG) ; -> Parameter of menu item to return STRING for
- (rString (:HANDLE :RSTRING)) ; <- Handle with the RString (caller must disposHandle() when done)
- )
-
- (defrecord DETOpenDSSpecBlock
- (reqFunction :SIGNED-LONG) ; Requested function
-
- (dsSpec (:POINTER :PACKEDDSSPEC)); -> DSSpec of object to be opened
- )
-
- (%define-record :DETABOUTTOTALKBLOCK (find-record-descriptor :DETCALLBACKBLOCKHEADER))
-
- (defrecord DETBreakAttributeBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
-
- (breakAttribute (:POINTER :ATTRIBUTE)); -> Attribute to parse
- )
-
- (%define-record :DETSAVEPROPERTYBLOCK (find-record-descriptor :DETCALLBACKBLOCKPROPERTYHEADER))
-
- (defrecord DETGetCustomViewUserReferenceBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (userReference :SIGNED-INTEGER); <- User reference value, as specified in the .r file
- )
-
- (defrecord DETGetCustomViewBoundsBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (bounds :RECT) ; <- Bounds of the view
- )
-
- (defrecord DETGetResourceBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (target :DETTARGETSPECIFICATION); The target for the request
- (property :SIGNED-INTEGER) ; The property to apply the request to
-
- (resourceType :OSTYPE) ; -> Resource type
- (theResource :HANDLE) ; <- The resource handle (caller must dispose when done)
- )
-
- (defrecord DETTemplateCounts
- (reqFunction :SIGNED-LONG) ; Requested function
-
- (aspectTemplateCount :SIGNED-LONG); <- Number of aspect templates in the system
- (infoPageTemplateCount :SIGNED-LONG); <- Number of info-page templates in the system
- )
-
- (%define-record :DETUNLOADTEMPLATESBLOCK (find-record-descriptor :DETCALLBACKBLOCKHEADER))
-
- (defrecord DETCallBackBlock
- (:variant
- ((protoCallBack :DETCALLBACKBLOCKPROPERTYHEADER))
- ((beep :DETCALLBACKBLOCKHEADER))
- ((busy :DETCALLBACKBLOCKHEADER))
- ((changeCallFors :DETCHANGECALLFORSBLOCK))
- ((getCommandSelectionCount :DETGETCOMMANDSELECTIONCOUNTBLOCK))
- ((getCommandItemN :DETGETCOMMANDITEMNBLOCK))
- ((getDSSpec :DETGETDSSPECBLOCK))
- ((getTemplateFSSpec :DETGETTEMPLATEFSSPECBLOCK))
- ((getOpenEdit :DETGETOPENEDITBLOCK))
- ((closeEdit :DETCLOSEEDITBLOCK))
- ((getPropertyType :DETGETPROPERTYTYPEBLOCK))
- ((getPropertyNumber :DETGETPROPERTYNUMBERBLOCK))
- ((getPropertyRString :DETGETPROPERTYRSTRINGBLOCK))
- ((getPropertyBinarySize :DETGETPROPERTYBINARYSIZEBLOCK))
- ((getPropertyBinary :DETGETPROPERTYBINARYBLOCK))
- ((getPropertyChanged :DETGETPROPERTYCHANGEDBLOCK))
- ((getPropertyEditable :DETGETPROPERTYEDITABLEBLOCK))
- ((setPropertyType :DETSETPROPERTYTYPEBLOCK))
- ((setPropertyNumber :DETSETPROPERTYNUMBERBLOCK))
- ((setPropertyRString :DETSETPROPERTYRSTRINGBLOCK))
- ((setPropertyBinary :DETSETPROPERTYBINARYBLOCK))
- ((setPropertyChanged :DETSETPROPERTYCHANGEDBLOCK))
- ((setPropertyEditable :DETSETPROPERTYEDITABLEBLOCK))
- ((dirtyProperty :DETCALLBACKBLOCKPROPERTYHEADER))
- ((sublistCount :DETSUBLISTCOUNTBLOCK))
- ((selectedSublistCount :DETSELECTEDSUBLISTCOUNTBLOCK))
- ((requestSync :DETCALLBACKBLOCKTARGETEDHEADER))
- ((addMenu :DETADDMENUBLOCK))
- ((removeMenu :DETREMOVEMENUBLOCK))
- ((menuItemRString :DETMENUITEMRSTRINGBLOCK))
- ((openDSSpec :DETOPENDSSPECBLOCK))
- ((aboutToTalk :DETCALLBACKBLOCKHEADER))
- ((breakAttribute :DETBREAKATTRIBUTEBLOCK))
- ((saveProperty :DETCALLBACKBLOCKPROPERTYHEADER))
- ((getCustomViewUserReference :DETGETCUSTOMVIEWUSERREFERENCEBLOCK))
- ((getCustomViewBounds :DETGETCUSTOMVIEWBOUNDSBLOCK))
- ((getResource :DETGETRESOURCEBLOCK))
- ((templateCounts :DETTEMPLATECOUNTS))
- ((unloadTemplates :DETCALLBACKBLOCKHEADER))
- ))
-
- (def-mactype :DETCALLBACKBLOCKPTR (find-mactype :POINTER))
-
- (def-mactype :DETCALLBACK (find-mactype :POINTER))
- ; FUNCTION DETCallBack(
- ; callBlockPtr: ^DETCallBlock, DETCallBackBlockPtr callBackBlockPtr): OSErr;
-
- ; Call functions:
- ;
- ; reqFunction Action
- ; ----------- ------
- ; kDETcmdInit Called once when template is first loaded (good time to allocate private data); returns call-for list
- ; kDETcmdExit Called once when template is freed (good time to free private data)
- ;
- ; kDETcmdInstanceInit Called once when instance of template is started (good time to allocate private instance data)
- ; kDETcmdInstanceExit Called once when instance is ended (good time to free private instance data)
- ;
- ; kDETcmdIdle Called periodically during idle times
- ;
- ; kDETcmdPropertyCommand Command received in the property number range (usually means a button's been pushed)
- ;
- ; kDETcmdControlEnabled Called to determine if a control is enabled
- ; kDETcmdMaximumTextLength Return maximum size for text form of property
- ;
- ; kDETcmdViewListChanged Called when the window view-list (list of enabled views) has changed
- ;
- ; kDETcmdPropertyDirtied Property dirtied, need to redraw
- ;
- ; kDETcmdValidateSave Validate save: about to save info-page, return noErr (1: or) if it's OK to do so
- ;
- ; kDETcmdDropQuery Drop query: return the appropriate operation for this drag; ask destination
- ; kDETcmdDropMeQuery Drop query: return the appropriate operation for this drag; ask dropee
- ;
- ; kDETcmdAttributeCreation New attribute creation about to occur; this gives the template chance to modify
- ; the value that's about to be created
- ; kDETcmdAttributeNew Attribute value new (return 1 to let normal new processing occur)
- ; kDETcmdAttributeChange Attribute value change (return 1 to let normal change processing occur)
- ; kDETcmdAttributeDelete Attribute value delete (return 1 to let normal deletion occur); sent to the
- ; main aspect of the attribute that's about to be deleted
- ;
- ; kDETcmdPatternIn Code resource pattern element on reading in an attribute or property
- ; kDETcmdPatternOut Code resource pattern element on writing out an attribute or property
- ;
- ; kDETcmdShouldSync Check if the code resource wants to force a sync (update data from directory)
- ; kDETcmdDoSync Give code resource a chance to sync (read in and break all attributes)
- ;
- ; kDETcmdOpenSelf Self open
- ;
- ; kDETcmdConvertToNumber Convert template-defined property type to number
- ; kDETcmdConvertToRString Convert template-defined property type to RString
- ; kDETcmdConvertFromNumber Convert from number to template-defined property type
- ; kDETcmdConvertFromRString Convert from RString to template-defined property type
- ;
- ; kDETcmdCustomViewDraw Custom view draw
- ; kDETcmdCustomViewMouseDown Custom view mouse down
- ; kDETcmdCustomViewKeyPress Custom view key press
- ; kDETcmdCustomViewPaste Custom view paste
- ;
- ; kDETcmdCustomMenuSelected Custom menu selected
- ; kDETcmdCustomMenuEnabled Custom menu enabled
- ;
- ; kDETcmdDynamicForwarders Return a list of dynamically created forwarders
- ; kDETcmdDynamicResource Return a dynamically created resource
- ;
-
- ; Values of DETCallFunctions
- (defconstant $kDETcmdSimpleCall 0)
- (defconstant $kDETcmdInit 1)
- (defconstant $kDETcmdExit 2)
- (defconstant $kDETcmdAttributeCreation 3)
- (defconstant $kDETcmdDynamicForwarders 4)
-
- (defconstant $kDETcmdTargetedCall 1000)
- (defconstant $kDETcmdInstanceInit 1001)
- (defconstant $kDETcmdInstanceExit 1002)
- (defconstant $kDETcmdIdle 1003)
- (defconstant $kDETcmdViewListChanged 1004)
- (defconstant $kDETcmdValidateSave 1005)
- (defconstant $kDETcmdDropQuery 1006)
- (defconstant $kDETcmdDropMeQuery 1007)
- (defconstant $kDETcmdAttributeNew 1008)
- (defconstant $kDETcmdAttributeChange 1009)
- (defconstant $kDETcmdOpenSelf 1010)
- (defconstant $kDETcmdDynamicResource 1011)
- (defconstant $kDETcmdAttributeDelete 1012)
- (defconstant $kDETcmdShouldSync 1013)
- (defconstant $kDETcmdDoSync 1014)
-
- (defconstant $kDETcmdPropertyCall 2000)
- (defconstant $kDETcmdPropertyCommand 2001)
- (defconstant $kDETcmdControlEnabled 2002)
- (defconstant $kDETcmdMaximumTextLength 2003)
- (defconstant $kDETcmdPropertyDirtied 2004)
- (defconstant $kDETcmdPatternIn 2005)
- (defconstant $kDETcmdPatternOut 2006)
- (defconstant $kDETcmdConvertToNumber 2007)
- (defconstant $kDETcmdConvertToRString 2008)
- (defconstant $kDETcmdConvertFromNumber 2009)
- (defconstant $kDETcmdConvertFromRString 2010)
- (defconstant $kDETcmdCustomViewDraw 2011)
- (defconstant $kDETcmdCustomViewMouseDown 2012)
- (defconstant $kDETcmdCustomViewKeyPress 2013)
- (defconstant $kDETcmdCustomMenuSelected 2014)
- (defconstant $kDETcmdCustomMenuEnabled 2015)
- (defconstant $kDETcmdCustomViewPaste 2016)
-
- (defconstant $kDETcmdHighCall #XF0000000)
-
- (def-mactype :DETCALLFUNCTIONS (find-mactype :SIGNED-LONG))
-
- (defrecord DETCallBlockHeader
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- )
-
- (defrecord DETCallBlockPropertyHeader
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
- )
-
- (%define-record :DETPROTOCALLBLOCK (find-record-descriptor :DETCALLBLOCKPROPERTYHEADER))
-
- (defrecord DETInitBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (newCallFors :SIGNED-LONG) ; <- New call-for mask
- )
-
- (%define-record :DETEXITBLOCK (find-record-descriptor :DETCALLBLOCKHEADER))
-
- (%define-record :DETINSTANCEINITBLOCK (find-record-descriptor :DETCALLBLOCKHEADER))
-
- (%define-record :DETINSTANCEEXITBLOCK (find-record-descriptor :DETCALLBLOCKHEADER))
-
- (%define-record :DETINSTANCEIDLEBLOCK (find-record-descriptor :DETCALLBLOCKHEADER))
-
- (defrecord DETPropertyCommandBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (parameter :SIGNED-LONG) ; -> Parameter of command
- )
-
- (defrecord DETControlEnabledBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (isEnabled :BOOLEAN) ; <- Return true if the control should be enabled
- )
-
- (defrecord DETMaximumTextLengthBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (maxSize :SIGNED-LONG) ; <- Return the maximum size of the property as a text STRING
- )
-
- (%define-record :DETVIEWLISTCHANGEDBLOCK (find-record-descriptor :DETCALLBLOCKHEADER))
-
- (%define-record :DETPROPERTYDIRTIEDBLOCK (find-record-descriptor :DETCALLBLOCKPROPERTYHEADER))
-
- (defrecord DETValidateSaveBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (errorString (:HANDLE :RSTRING)); <- Handle with error STRING if validation fails (callee must allocate handle, DE will DisposHandle() it)
- )
-
- ; Valid commandIDs for DETDropQueryBlock and DETDropMeQueryBlock (in addition to property numbers):
-
- (defconstant $kDETDoNothing :|xxx0|)
- (defconstant $kDETMove :|move|)
- (defconstant $kDETDrag :|drag|)
- (defconstant $kDETAlias :|alis|)
-
- (defrecord DETDropQueryBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (modifiers :SIGNED-INTEGER) ; -> Modifiers at drop time (option/control/command/shift keys)
- (commandID :SIGNED-LONG) ; <-> Command ID (aeDoNothing, aeMove, aeCopy, aeAlias, or a property number)
- (destinationType :ATTRIBUTETYPE); <-> Type to convert attribute to
- (copyToHFS :BOOLEAN) ; <- If true, object should be copied to HFS before being operated on, and deleted after
- )
-
- (defrecord DETDropMeQueryBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (modifiers :SIGNED-INTEGER) ; -> Modifiers at drop time (option/control/command/shift keys)
- (commandID :SIGNED-LONG) ; <-> Command ID (aeDoNothing, aeMove, aeCopy, aeAlias, or a property number)
- (destinationType :ATTRIBUTETYPE); <-> Type to convert attribute to
- (copyToHFS :BOOLEAN) ; <- If true, object should be copied to HFS before being operated on, and deleted after
- )
-
- (defrecord DETAttributeCreationBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (parent (:POINTER :PACKEDDSSPEC)); -> The object within which the creation will occur
- (refNum :SIGNED-INTEGER) ; -> Refnum for returned address (DSSpecs in PDs only)
- (identity :SIGNED-LONG) ; -> The identity we're browsing as in the parent object
- (attrType :ATTRIBUTETYPE) ; <-> The type of the attribute being created
- (attrTag :OSTYPE) ; <-> The tag of the attribute being created
- (value :HANDLE) ; <-> The value to write (pre-allocated, resize as needed)
- )
-
- (defrecord DETAttributeNewBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (parent (:POINTER :PACKEDDSSPEC)); -> The object within which the creation will occur
- (refNum :SIGNED-INTEGER) ; -> Refnum for returned address (DSSpecs in PDs only)
- (identity :SIGNED-LONG) ; -> The identity we're browsing as in the parent object
- (attrType :ATTRIBUTETYPE) ; <-> The type of the attribute being created
- (attrTag :OSTYPE) ; <-> The tag of the attribute being created
- (value :HANDLE) ; <-> The value to write (pre-allocated, resize as needed)
- )
-
- (defrecord DETAttributeChangeBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (parent (:POINTER :PACKEDDSSPEC)); -> The object within which the creation will occur
- (refNum :SIGNED-INTEGER) ; -> Refnum for returned address (DSSpecs in PDs only)
- (identity :SIGNED-LONG) ; -> The identity we're browsing as in the parent object
- (attrType :ATTRIBUTETYPE) ; <-> The type of the attribute being changed
- (attrTag :OSTYPE) ; <-> The tag of the attribute being changed
- (attrCID :CREATIONID) ; <-> The CID of the attribute being changed
- (value :HANDLE) ; <-> The value to write (pre-allocated, resize as needed)
- (addAgain :BOOLEAN) ; <- True if returned attribute should be added rather than changed (when returning 1)
- )
-
- (defrecord DETAttributeDeleteBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (dsSpec (:POINTER :PACKEDDSSPEC)); -> The object within which the deletion will occur
- (refNum :SIGNED-INTEGER) ; -> Refnum for returned address (DSSpecs in PDs only)
- (identity :SIGNED-LONG) ; -> The identity we're browsing as
- )
-
- (defrecord DETShouldSyncBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (shouldSync :BOOLEAN) ; <- True if we should now sync with directory
- )
-
- (defrecord DETDoSyncBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- )
-
- (defrecord DETPatternInBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (elementType :SIGNED-LONG) ; -> Element type from pattern
- (extra :SIGNED-LONG) ; -> Extra field from pattern
- (attribute (:POINTER :ATTRIBUTE)); -> The complete attribute
- (dataOffset :SIGNED-LONG) ; -> Offset to current (next) byte
- (bitOffset :SIGNED-INTEGER) ; -> Bit offset (next bit ^is fData >> fBitOffset++)
- )
-
- (defrecord DETPatternOutBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (elementType :SIGNED-LONG) ; -> Element type from pattern
- (extra :SIGNED-LONG) ; -> Extra field from pattern
- (attribute (:POINTER :ATTRIBUTE)); -> The attribute (minus the data portion)
- (data :HANDLE) ; -> Data to be written (pre-allocated, resize and add at end)
- (dataOffset :SIGNED-LONG) ; -> Offset to next byte to write
- (bitOffset :SIGNED-INTEGER) ; -> Bit offset (zero: if; handle will need to be resized to one more byte before write)
- )
-
- (defrecord DETOpenSelfBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (modifiers :SIGNED-INTEGER) ; -> Modifiers at open time (option/control/command/shift keys)
- )
-
- (defrecord DETConvertToNumberBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theValue :SIGNED-LONG) ; <- The converted value to return
- )
-
- (defrecord DETConvertToRStringBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theValue (:HANDLE :RSTRING)); <- A handle with the converted value (callee must allocate handle, DE will DisposHandle() it)
- )
-
- (defrecord DETConvertFromNumberBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theValue :SIGNED-LONG) ; -> The value to convert (result should be written direct to the property)
- )
-
- (defrecord DETConvertFromRStringBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theValue (:POINTER :RSTRING)); -> The value to convert (result should be written direct to the property)
- )
-
- (%define-record :DETCUSTOMVIEWDRAWBLOCK (find-record-descriptor :DETCALLBLOCKPROPERTYHEADER))
-
- (defrecord DETCustomViewMouseDownBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theEvent (:POINTER :EVENTRECORD)); -> The original event record of the mouse-down
- )
-
- (defrecord DETCustomViewKeyPressBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (theEvent (:POINTER :EVENTRECORD)); -> The original event record of the key-press
- )
-
- (defrecord DETCustomViewPasteBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
- (property :SIGNED-INTEGER) ; The property number the call refers to
-
- (modifiers :SIGNED-INTEGER) ; -> Modifiers at paste time (option/control/command/shift keys)
- )
-
- (defrecord DETCustomMenuSelectedBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (menuTableParameter :SIGNED-INTEGER); -> The "property" field from the custom menu table
- )
-
- (defrecord DETCustomMenuEnabledBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (menuTableParameter :SIGNED-INTEGER); -> The "property" field from the custom menu table
- (enable :BOOLEAN) ; <- Whether to enable the menu item
- )
-
- (defrecord DETForwarderListItem
- (next (:POINTER :DETFORWARDERLISTPTR)); Pointer to next item, or nil
- (attributeValueTag :OSTYPE) ; Tag of new templates (0 for none)
- (rstrs :PACKEDPATHNAME) ; Record type (empty if none), attrbute type (empty if none),
- ; aspect names to forward to, and info-page names to forward to
- )
-
- (def-mactype :DETFORWARDERLISTPTR (find-mactype :POINTER))
- (def-mactype :DETFORWARDERLISTHANDLE (find-mactype :HANDLE))
-
- (defrecord DETDynamicForwardersBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (forwarders (:HANDLE :DETFORWARDERLISTITEM)); <- List of forwaders
- )
-
- (defrecord DETDynamicResourceBlock
- (reqFunction :SIGNED-LONG) ; Requested function
- (templatePrivate :SIGNED-LONG); Private storage for use by code resource (stays for life of code resource,
- ; common to all invocations of code resource)
- (instancePrivate :SIGNED-LONG); Private storage for use by code resource (separate for each item using the
- ; code resource)
- (callBack :POINTER) ; Pointer to call-back routine
- (callBackPrivate :SIGNED-LONG); Private data for the call-back routine
- (target :DETTARGETSPECIFICATION); The target (originator) of the call, for targeted and property calls
- (targetIsMainAspect :BOOLEAN); True if the target is the main aspect (even though it has a non-nil name)
-
- (resourceType :OSTYPE) ; -> The resource type being requested
- (propertyNumber :SIGNED-INTEGER); -> The property number of the resource being requested
- (resourceID :SIGNED-INTEGER) ; -> The resource ID (base ID + property number) of the resource
- (theResource :HANDLE) ; <- The requested resource
- )
-
- (defrecord DETCallBlock
- (:variant
- ((protoCall :DETCALLBLOCKPROPERTYHEADER))
- ((init :DETINITBLOCK))
- ((exit :DETCALLBLOCKHEADER))
- ((instanceInit :DETCALLBLOCKHEADER))
- ((instanceExit :DETCALLBLOCKHEADER))
- ((instanceIdle :DETCALLBLOCKHEADER))
- ((propertyCommand :DETPROPERTYCOMMANDBLOCK))
- ((controlEnabled :DETCONTROLENABLEDBLOCK))
- ((maximumTextLength :DETMAXIMUMTEXTLENGTHBLOCK))
- ((viewListChanged :DETCALLBLOCKHEADER))
- ((propertyDirtied :DETCALLBLOCKPROPERTYHEADER))
- ((validateSave :DETVALIDATESAVEBLOCK))
- ((dropQuery :DETDROPQUERYBLOCK))
- ((dropMeQuery :DETDROPMEQUERYBLOCK))
- ((attributeCreationBlock :DETATTRIBUTECREATIONBLOCK))
- ((attributeNew :DETATTRIBUTENEWBLOCK))
- ((attributeChange :DETATTRIBUTECHANGEBLOCK))
- ((attributeDelete :DETATTRIBUTEDELETEBLOCK))
- ((patternIn :DETPATTERNINBLOCK))
- ((patternOut :DETPATTERNOUTBLOCK))
- ((shouldSync :DETSHOULDSYNCBLOCK))
- ((doSync :DETDOSYNCBLOCK))
- ((openSelf :DETOPENSELFBLOCK))
- ((convertToNumber :DETCONVERTTONUMBERBLOCK))
- ((convertToRString :DETCONVERTTORSTRINGBLOCK))
- ((convertFromNumber :DETCONVERTFROMNUMBERBLOCK))
- ((convertFromRString :DETCONVERTFROMRSTRINGBLOCK))
- ((customViewDraw :DETCALLBLOCKPROPERTYHEADER))
- ((customViewMouseDown :DETCUSTOMVIEWMOUSEDOWNBLOCK))
- ((customViewKeyPress :DETCUSTOMVIEWKEYPRESSBLOCK))
- ((customViewPaste :DETCUSTOMVIEWPASTEBLOCK))
- ((customMenuSelected :DETCUSTOMMENUSELECTEDBLOCK))
- ((customMenuEnabled :DETCUSTOMMENUENABLEDBLOCK))
- ((dynamicForwarders :DETDYNAMICFORWARDERSBLOCK))
- ((dynamicResource :DETDYNAMICRESOURCEBLOCK))
- ))
-
- (def-mactype :DETCALLBLOCKPTR (find-mactype :POINTER))
-
- ; Call-for list:
-
- (defconstant $kDETCallForAnything 1); Call at all
- (defconstant $kDETCallForIdle 2); kDETcmdIdle
- (defconstant $kDETCallForCommands 4); kDETcmdPropertyCommand, kDETcmdSelfOpen
- (defconstant $kDETCallForViewChanges 8); kDETcmdControlEnabled, kDETcmdViewListChanged, kDETcmdPropertyDirtied, kDETcmdMaximumTextLength
- (defconstant $kDETCallForDrops #X10); kDETcmdDropQuery, kDETcmdDropMeQuery
- (defconstant $kDETCallForAttributes #X20); kDETcmdAttributeNew, kDETcmdAttributeChange
- (defconstant $kDETCallForValidation #X40); kDETcmdValidateSave
- (defconstant $kDETCallForKeyPresses #X80); kDETcmdCustomViewKeyPress and kDETcmdCustomViewPaste on all key-presses
- (defconstant $kDETCallForResources #X100); kDETcmdDynamicResource
- (defconstant $kDETCallForSyncing #X200); kDETcmdShouldSync, kDETcmdDoSync
- (defconstant $kDETCallForEscalation #X8000); all calls escalated to the next level
-
- (defconstant $kDETCallForNothing 0); none of the above
- (defconstant $kDETCallForEverything #XFFFFFFFF); all of the above
-
- (def-mactype :DETCALL (find-mactype :POINTER)); FUNCTION DETCall(callBlockPtr: DETCallBlockPtr): OSErr;
-
- ; This following macro saves you from having to dig out the call-back pointer from the call block:
-
- ; #define CallBackDET(callBlockPtr, callBackBlockPtr) ((*callBlockPtr->protoCall.callBack)(callBlockPtr, callBackBlockPtr))
-
- ; Errors specific to Directories Extension Templates
-
- ; Note: This section will be moved to OCEErrors.h eventually
-
- ; ************************************************************************************
- ; ********************************* SAM Definitions: *********************************
- ; ************************************************************************************
-
- ; SAM Developers should use property numbers starting at this point:
-
- (defconstant $kSAMFirstDevProperty (+ #$KDETFIRSTDEVPROPERTY 10))
-
- ;
- ; SAM templates have additional resources/properties that are required
- ; for interaction with the A.O.C.E. Connections control panel.
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'rstr' kSAMAspectStatus The string displayed as the slot's status
- ; 'detn' kSAMAspectCannotDelete If 0, then the slot cannot be deleted
- ; 'detn' kSAMAspectServesDSAM If 0, not a DSAM template, otherwise is a DSAM template
- ; 'detn' kSAMAspectServesMSAM If 0, not an MSAM template, otherwise is an MSAM template
- ; 'sami' kSAMAspectSlotCreationInfo The info required to create a slot record
- ;
-
- (defconstant $kSAMAspectStatus (+ #$KDETFIRSTDEVPROPERTY 1))
- (defconstant $kSAMAspectCannotDelete (+ #$KDETFIRSTDEVPROPERTY 2))
- (defconstant $kSAMAspectServesDSAM (+ #$KDETFIRSTDEVPROPERTY 3))
- (defconstant $kSAMAspectServesMSAM (+ #$KDETFIRSTDEVPROPERTY 4))
- (defconstant $kSAMAspectSlotCreationInfo (+ #$KDETFIRSTDEVPROPERTY 5))
-
- ; The standard "Status" RStrings are stored in an rst# resource.
- ; Here is the resource ID and the indices into the resource
-
- (defconstant $kSAMStatusStrings -16523)
- (defconstant $kSAMNotSetup 1)
- (defconstant $kSAMActive 2)
- (defconstant $kSAMInactive 3)
-
- ; **************************************************************************************
- ; ********************************* Admin Definitions: *********************************
- ; **************************************************************************************
-
- (defconstant $kDETAdminVersion -978)
-
- ; $ENDC ; UsingOCETemplates
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- (export '($KDETADMINVERSION $KSAMINACTIVE $KSAMACTIVE $KSAMNOTSETUP
- $KSAMSTATUSSTRINGS $KSAMASPECTSLOTCREATIONINFO $KSAMASPECTSERVESMSAM
- $KSAMASPECTSERVESDSAM $KSAMASPECTCANNOTDELETE $KSAMASPECTSTATUS
- $KSAMFIRSTDEVPROPERTY $KDETCALLFOREVERYTHING $KDETCALLFORNOTHING
- $KDETCALLFORESCALATION $KDETCALLFORSYNCING $KDETCALLFORRESOURCES
- $KDETCALLFORKEYPRESSES $KDETCALLFORVALIDATION $KDETCALLFORATTRIBUTES
- $KDETCALLFORDROPS $KDETCALLFORVIEWCHANGES $KDETCALLFORCOMMANDS
- $KDETCALLFORIDLE $KDETCALLFORANYTHING $KDETALIAS $KDETDRAG $KDETMOVE
- $KDETDONOTHING $KDETCMDHIGHCALL $KDETCMDCUSTOMVIEWPASTE
- $KDETCMDCUSTOMMENUENABLED $KDETCMDCUSTOMMENUSELECTED
- $KDETCMDCUSTOMVIEWKEYPRESS $KDETCMDCUSTOMVIEWMOUSEDOWN
- $KDETCMDCUSTOMVIEWDRAW $KDETCMDCONVERTFROMRSTRING
- $KDETCMDCONVERTFROMNUMBER $KDETCMDCONVERTTORSTRING
- $KDETCMDCONVERTTONUMBER $KDETCMDPATTERNOUT $KDETCMDPATTERNIN
- $KDETCMDPROPERTYDIRTIED $KDETCMDMAXIMUMTEXTLENGTH
- $KDETCMDCONTROLENABLED $KDETCMDPROPERTYCOMMAND $KDETCMDPROPERTYCALL
- $KDETCMDDOSYNC $KDETCMDSHOULDSYNC $KDETCMDATTRIBUTEDELETE
- $KDETCMDDYNAMICRESOURCE $KDETCMDOPENSELF $KDETCMDATTRIBUTECHANGE
- $KDETCMDATTRIBUTENEW $KDETCMDDROPMEQUERY $KDETCMDDROPQUERY
- $KDETCMDVALIDATESAVE $KDETCMDVIEWLISTCHANGED $KDETCMDIDLE
- $KDETCMDINSTANCEEXIT $KDETCMDINSTANCEINIT $KDETCMDTARGETEDCALL
- $KDETCMDDYNAMICFORWARDERS $KDETCMDATTRIBUTECREATION $KDETCMDEXIT
- $KDETCMDINIT $KDETCMDSIMPLECALL $KDETLASTITEMTYPE $KDETMOVERTYPE
- $KDETMAILTYPE $KDETDSTYPE $KDETHFSTYPE $KDETCMDHIGHCALLBACK
- $KDETCMDGETRESOURCE $KDETCMDGETCUSTOMVIEWBOUNDS
- $KDETCMDGETCUSTOMVIEWUSERREFERENCE $KDETCMDSAVEPROPERTY
- $KDETCMDMENUITEMRSTRING $KDETCMDREMOVEMENU $KDETCMDADDMENU
- $KDETCMDDIRTYPROPERTY $KDETCMDSETPROPERTYEDITABLE
- $KDETCMDSETPROPERTYCHANGED $KDETCMDSETPROPERTYBINARY
- $KDETCMDSETPROPERTYRSTRING $KDETCMDSETPROPERTYNUMBER
- $KDETCMDSETPROPERTYTYPE $KDETCMDGETPROPERTYEDITABLE
- $KDETCMDGETPROPERTYCHANGED $KDETCMDGETPROPERTYBINARY
- $KDETCMDGETPROPERTYBINARYSIZE $KDETCMDGETPROPERTYRSTRING
- $KDETCMDGETPROPERTYNUMBER $KDETCMDGETPROPERTYTYPE
- $KDETCMDPROPERTYCALLBACK $KDETCMDCLOSEEDIT $KDETCMDGETOPENEDIT
- $KDETCMDGETTEMPLATEFSSPEC $KDETCMDBREAKATTRIBUTE $KDETCMDREQUESTSYNC
- $KDETCMDSELECTEDSUBLISTCOUNT $KDETCMDSUBLISTCOUNT $KDETCMDGETDSSPEC
- $KDETCMDTARGETEDCALLBACK $KDETCMDTEMPLATECOUNTS
- $KDETCMDUNLOADTEMPLATES $KDETCMDABOUTTOTALK $KDETCMDOPENDSSPEC
- $KDETCMDGETCOMMANDITEMN $KDETCMDGETCOMMANDSELECTIONCOUNT
- $KDETCMDCHANGECALLFORS $KDETCMDBUSY $KDETCMDBEEP
- $KDETCMDSIMPLECALLBACK $KDETDIDNOTHANDLE $KDETHIGHSELECTOR
- $KDETINFOPAGETEMPLATE $KDETASPECTTEMPLATE $KDETCHAINEDTARGETSPEC
- $KDETDSSPEC $KDETSELECTEDSUBLISTITEM $KDETSUBLISTITEM $KDETPARENT
- $KDETSELFOTHERASPECT $KDETSELF $KDETCATEGORYPEOPLE
- $KDETCATEGORYADDRESSITEMS $KDETCATEGORYALLITEMS
- $KDETCATEGORYALLCATEGORIES $KDETFORWARDERTEMPLATENAMES
- $KDETKILLERNAME $KDETSUBLISTKINDCOLUMNRIGHT
- $KDETSUBLISTKINDCOLUMNLEFT $KDETSUBLISTNAMECOLUMNRIGHT
- $KDETSUBLISTNAMECOLUMNLEFT $KDETSUBLISTICONCOLUMNRIGHT
- $KDETSUBLISTICONCOLUMNLEFT $KDETSUBLISTSPACEBETWEENCOLUMNS
- $KDETSUBLISTKINDCOLUMNWIDTH $KDETSUBLISTNAMECOLUMNWIDTH
- $KDETSUBLISTICONCOLUMNWIDTH $KDETSUBLISTTITLEBOTTOM
- $KDETSUBLISTTITLETOP $KDETSUBLISTENTRYBOTTOM $KDETSUBLISTENTRYTOP
- $KDETSUBLISTRIGHT $KDETSUBLISTRIGHTINSET $KDETSUBLISTBOTTOM
- $KDETSUBLISTBOTTOMINSET $KDETSUBLISTLEFT $KDETSUBLISTTOP
- $KDETCOLUMNTOP $KDETATTRIBUTE2NDCOLUMNRIGHT $KDETRECORD2NDCOLUMNRIGHT
- $KDET2NDCOLUMNLEFT $KDET1STCOLUMNRIGHT $KDET1STCOLUMNLEFT
- $KDETSUBPAGE1BUTTONRIGHT $KDETSUBPAGE1BUTTONBOTTOM
- $KDETSUBPAGE1BUTTONLEFT $KDETSUBPAGE1BUTTONTOP $KDETSUBPAGELABELRIGHT
- $KDETSUBPAGELABELBOTTOM $KDETSUBPAGELABELLEFT $KDETSUBPAGELABELTOP
- $KDETSUBPAGEICONRIGHT $KDETSUBPAGEICONBOTTOM $KDETSUBPAGEICONLEFT
- $KDETSUBPAGEICONTOP $KDETSUBPAGERIGHTINSET $KDETSUBPAGEBOTTOMINSET
- $KDETSUBPAGELEFT $KDETSUBPAGETOP $KDETATTRIBUTEINFOWINDWIDTH
- $KDETATTRIBUTEINFOWINDHEIGHT $KDETRECORDINFOWINDWIDTH
- $KDETRECORDINFOWINDHEIGHT $KDETCHANGEVIEWCOMMAND
- $KDETCUSTOMVIEWMENUID $KDETICONSTYLE $KDETEXTEND $KDETCONDENSE
- $KDETSHADOW $KDETOUTLINE $KDETUNDERLINE $KDETITALIC $KDETBOLD
- $KDETNORMAL $KDETDEFAULTFONTLINEHEIGHT $KDETDEFAULTFONTSIZE
- $KDETDEFAULTFONT $KDETSYSTEMFONTLINEHEIGHT $KDETSYSTEMFONTSIZE
- $KDETSYSTEMFONT $KDETAPPFONTLINEHEIGHT $KDETAPPLICATIONFONTSIZE
- $KDETAPPLICATIONFONT $KDETBOXISINVISIBLE $KDETBOXISGRAYED
- $KDETBOXISROUNDED $KDETBOXTAKESCONTENTCLICKS $KDETNOPROPERTY
- $KDETNOSORT $KDETNOVALUE $KDETUNUSED $KDETFORCELEFT $KDETRIGHT
- $KDETCENTER $KDETLEFT $KDETMINIICON $KDETSMALLICON $KDETLARGEICON
- $KDETALLOWNOCOLONS $KDETDYNAMICSIZE $KDETHIDEPENONOPEN
- $KDETVIEWSENDCOMMANDTOWINDOW $KDETMULTILINE $KDETNUMERICONLY
- $KDETCHOOSABLE $KDETHILIGHTIFSELECTED $KDETENABLED $KDETNOFLAGS
- $KDETINFOPAGEMENUENTRIES $KDETINFOPAGEMENUNAME
- $KDETINFOPAGEMAINVIEWASPECT $KDETINFOPAGENAME $KDETPRTYPEBINARY
- $KDETPRTYPESTRING $KDETPRTYPENUMBER $KDETPRTYPENONE
- $KDETINFOPAGETEMPLATENUMBER $KDETASPECTTEMPLATENUMBER
- $KDETPRIMARYTOPMASKBIT $KDETPRIMARYCHANGEPRIVSMASK
- $KDETPRIMARYRENAMEMASK $KDETPRIMARYCHANGEMASK $KDETPRIMARYDELETEMASK
- $KDETPRIMARYADDMASK $KDETPRIMARYSEEMASK $KDETPRIMARYMASKBYBIT
- $KDETATTRIBUTEACCESSMASK $KDETRECORDACCESSMASK $KDETDNODEACCESSMASK
- $KDETPRKIND $KDETPRNAME $KDETTRUEPROPERTY $KDETFALSEPROPERTY
- $KDETONEPROPERTY $KDETZEROPROPERTY $KDETCONSTANTPROPERTY
- $KDETLASTCONSTANTPROPERTY $KDETFIRSTCONSTANTPROPERTY
- $KDETFIRSTDEVPROPERTY $KDETLASTLOCALPROPERTY $KDETFIRSTLOCALPROPERTY
- $KDETASPECTEXTERNALCATEGORY $KDETASPECTINFOPAGECUSTOMWINDOW
- $KDETASPECTREVERSESORT $KDETASPECTVIEWMENU $KDETASPECTATTRDRAGOUT
- $KDETASPECTATTRDRAGIN $KDETASPECTRECORDCATDRAGIN
- $KDETASPECTRECORDDRAGIN $KDETASPECTDRAGINSUMMARY
- $KDETASPECTDRAGINVERB $KDETASPECTDRAGINSTRING $KDETASPECTLOOKUP
- $KDETASPECTNEWVALUE $KDETASPECTNEWENTRYNAME $KDETASPECTNEWMENUNAME
- $KDETASPECTBALLOONS $KDETASPECTMAINBITMAP $KDETASPECTWHATIS
- $KDETASPECTGENDER $KDETASPECTKIND $KDETASPECTCATEGORY $KDETASPECTNAME
- $KDETASPECTCODE $KDETATTRIBUTEVALUETAG $KDETATTRIBUTETYPE
- $KDETRECORDTYPE $KDETTEMPLATENAME $KDETFIFTHID $KDETFOURTHID
- $KDETTHIRDID $KDETSECONDID $KDETFIRSTID $KDETIDSEP
- $KDETFILETYPEVERSION $KDETFORWARDERVERSION $KDETKILLERVERSION
- $KDETINFOPAGEVERSION $KDETASPECTVERSION))
- (provide-interface 'OCETemplates)